﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Plazos
{
    public partial class FormEliminarFeriado : Form
    {
        public FormEliminarFeriado()
        {
            InitializeComponent();
        }

        private void FormEliminarFeriado_Load(object sender, EventArgs e)
        {
            
        }

        private void buscarEliminarFeriado_Click(object sender, EventArgs e)
        {

          //rescatar el valor numeric que se lee en el año 
            string a = numericAnoEliminar.Value.ToString();
            int b = Convert.ToInt32(a);
            Feriados fer = new Feriados();
            List<Feriados> feria = fer.getFeriad();
            foreach (Feriados f in feria)
            {
                DateTime t = Convert.ToDateTime(f.Feriado);
                // rescatar el año del textbox 
                if ((int)t.Year == b)
                {
                    checkedListEliminarFeriado.Items.Add(f.Feriado);
                }
               // checkedListBox1.Items.Add(c.Sic);

            }
        }

        private void buttonEliminarFeriado_Click(object sender, EventArgs e)
        {
            Curso cur = new Curso();
            List<Curso> cursos = new List<Curso>();
            cursos = cur.getCursos();
            if (checkedListEliminarFeriado.CheckedItems.Count != 0)
            {
                Feriados fer = new Feriados();
                
                // If so, loop through all checked items and print results.
                string f = "";
                int idSemFeriado;
                for (int x = 0; x <= checkedListEliminarFeriado.CheckedItems.Count - 1; x++)
                {
                    f = checkedListEliminarFeriado.CheckedItems[x].ToString();
                    idSemFeriado = fer.idSemestreFeriado(f);
                    if (!fer.eliminar(f))
                    {
                        MessageBox.Show("No se ha podido eliminar el feriado'" + f + "'");
                    }
                    else
                    {
                        foreach (Curso c in cursos)
                        {
                            if (c.IdSem == idSemFeriado || c.IdSem == idSemFeriado - 1 || c.IdSem == idSemFeriado+1)
                            {
                                c.calcularFechas();
                                c.modificarCurso(c.Sic);
                                c.modificarPublicar(c.Publicar, c.IdSem);

                                
                            }
                        }
                        
                    }
                    

                }

               


                if (checkedListEliminarFeriado.CheckedItems.Count == 1)
                {
                    MessageBox.Show("Se ha eliminado el feriado");
                    
                }
                else
                {
                    MessageBox.Show("Se han eliminado los feriados");
                }
                this.Dispose();
            }


        }
    }
}
